Data processing systems employ and generate extensive amounts of data, much of which is stored by data storage systems. A way of reducing the physical amount of storage is to compress at least some of the data. Many data compression engines employing various data compression algorithms exist to accomplish the data compression, some providing greater degrees of compression of some types of data, others greater degrees of compression of other types of data, and some with all types of data. Some data compression engines can recompress data that has already been compressed. A prevalent means of measuring the degree of data compression is the compression ratio, meaning the ratio of the amount of original data to the amount of compressed data, such as 10:1. Another aspect of data compression is the latency of the compression of data and of the uncompression or decompression of compressed data. Typically, the greater the compression ratio, the more complex the data compression, and the greater the latency. Of course, the shortest latency is to data that is uncompressed.
As the result, the user manually selects the data compression engines based on expected needs, and the amount of data storage expected to be available, which is often cost driven. Also, the data compression engines may vary widely in cost, effecting the decision. The user may then establish a policy regarding what data and how much data is to be compressed versus what data and how much data is left uncompressed, as discussed in the incorporated '388 application. The policies may remain fixed and may or may not result in data storage space efficiency or in rapid access over time.